<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">
<html xmlns:u="http://java.sun.com/jsf/facelets"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:t="http://com.ss.stockmanager/jsf"
	xmlns:p="http://primefaces.org/ui" xmlns="http://www.w3.org/1999/xhtml">

<body>
	<u:composition template="/pages/layout/pageLayout.xhtml">
		<u:define name="body">
			<h:form id="form">
				<p:panel id="panelFiltro" header="#{msgs.common_filtros}"
					rendered="#{!movimientoStockController.addEdit}">
					<h:panelGrid columns="5">

						<h:outputText value="#{msgs.admMovimientoStock_fecha}" />
						<p:calendar id="fechaC"
							value="#{movimientoStockController.query.fecha}" mode="popup"
							showOn="button" locale="es"
							pattern="#{msgs.common_inputDateFormat}"
							readOnlyInputText="false" navigator="true" yearRange="c-100:c+50"
							converterMessage="El formato de la fecha es incorrecto">
						</p:calendar>

						<h:outputText value="#{msgs.admMovimientoStock_tipoManual}" />
						<p:selectOneMenu
							value="#{movimientoStockController.query.tipoMovimientoManual}"
							converter="tipoMovimientoManualConverter">
							<f:selectItem itemLabel="#{msgs.common_todos}" itemValue="" />
							<f:selectItems
								value="#{movimientoStockController.listaTipoMovimientoManual}" />
						</p:selectOneMenu>

						<p:commandButton value="Consultar"
							actionListener="#{movimientoStockController.query}"
							update="dataTable">
						</p:commandButton>
					</h:panelGrid>
				</p:panel>

				<h:outputText value="&#160;" />

				<p:growl id="messages" life="5000" />
				<p:dataTable id="dataTable" var="model"
					value="#{movimientoStockController.lazyDM}" paginator="true"
					rows="10"
					paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
					rowsPerPageTemplate="10,15,20"
					rendered="#{!movimientoStockController.addEdit}"
					emptyMessage="No se encontraron registros" dynamic="true"
					lazy="true">

					<f:facet name="header">
						<h:outputText value="#{msgs.admMovimientoStock_title}" />
					</f:facet>

					<p:column>
						<f:facet name="header">
							<h:outputText value="#{msgs.admMovimientoStock_fecha}" />
						</f:facet>
						<h:outputText value="#{model.fecha}">
							<f:convertDateTime pattern="#{msgs.common_inputDateFormat}"
								timeZone="#{msgs.common_timeZone}" />
						</h:outputText>
					</p:column>

					<p:column>
						<f:facet name="header">
							<h:outputText value="#{msgs.admMovimientoStock_tipo}" />
						</f:facet>
						<h:outputText value="#{model.tipoMovimientoStock}" />
					</p:column>

					<p:column>
						<f:facet name="header">
							<h:outputText value="#{msgs.admMovimientoStock_tipoManual}" />
						</f:facet>
						<h:outputText value="#{model.tipoMovimientoManual}" />
					</p:column>

					<p:column>
						<f:facet name="header">
							<h:outputText value="#{msgs.admMovimientoStock_producto}" />
						</f:facet>
						<h:outputText value="#{model.producto.detalle}" />
					</p:column>

					<p:column>
						<f:facet name="header">
							<h:outputText value="#{msgs.admMovimientoStock_cantidad}" />
						</f:facet>
						<h:outputText value="#{model.cantidad}" />
					</p:column>

					<p:column>
						<f:facet name="header">
							<h:outputText value="#{msgs.admMovimientoStock_depositoOrigen}" />
						</f:facet>
						<h:outputText value="#{model.depositoOrigen.nombre}"
							rendered="#{!(model.depositoOrigen eq null)}" />
						<h:outputText value=""
							rendered="#{(model.depositoOrigen eq null)}" />
					</p:column>

					<p:column>
						<f:facet name="header">
							<h:outputText value="#{msgs.admMovimientoStock_depositoDestino}" />
						</f:facet>
						<h:outputText value="#{model.depositoDestino.nombre}" />
					</p:column>

					<p:column>
						<f:facet name="header">
							<h:outputText value="#{msgs.admMovimientoStock_dueño}" />
						</f:facet>
						<h:outputText value="#{model.stock.cliente.nombre}"
							rendered="#{!(model.stock.cliente eq null)}" />
						<h:outputText value="#{msgs.common_central}"
							rendered="#{(model.stock.cliente eq null)}" />
					</p:column>

					<p:column>
						<f:facet name="header">
							<h:outputText value="#{msgs.admMovimientoStock_observaciones}" />
						</f:facet>
						<h:outputText value="#{model.observaciones}" />
					</p:column>

					<p:column>
						<f:facet name="header">
							<h:outputText value="#{msgs.admMovimientoStock_usuario}" />
						</f:facet>
						<h:outputText value="#{model.usuario.usuario}" />
					</p:column>


					<f:facet name="footer">
						<p:commandButton value="#{msgs.common_agregar}"
							actionListener="#{movimientoStockController.add}" update=":form" />
					</f:facet>
				</p:dataTable>


				<h:panelGrid id="panel" columns="1"
					rendered="#{movimientoStockController.addEdit}">

					<!-- <p:focus for="tipoSOM" /> -->
					<p:panel header="#{msgs.admMovimientoStock_altaModificacion}">
						<h:panelGrid columns="3">
							<h:outputText value="#{msgs.admMovimientoStock_tipoManual}" />
							<p:selectOneMenu id="tipoSOM"
								value="#{movimientoStockController.view.tipoMovimientoManual}"
								converter="tipoMovimientoManualConverter">
								<f:selectItems
									value="#{movimientoStockController.listaTipoMovimientoManual}" />
								<p:ajax event="change"
									update="panelDepositoOrigenOT panelDepositoOrigenSOM depositoDestinoOT depositoDestinoLabelOT"
									listener="#{movimientoStockController.tipoMovimientoManualListener}" />
							</p:selectOneMenu>
							<h:outputText value="" />


							<h:outputText value="#{msgs.admMovimientoStock_producto}" />
							<p:autoComplete id="productoAC"
								disabled="#{movimientoStockController.productoSelected}"
								value="#{movimientoStockController.view.producto}"
								completeMethod="#{movimientoStockController.completeProducto}"
								var="producto" itemLabel="#{producto.detalle}"
								itemValue="#{producto}" converter="productoConverter"
								maxResults="10" size="50">
								<p:ajax event="itemSelect"
									listener="#{movimientoStockController.productoSelectChange}"
									update="productoAC,nombreProducto,deseleccinarLink" />
							</p:autoComplete>
							<h:panelGroup>
								<h:outputText id="nombreProducto"
									value="#{movimientoStockController.view.producto.detalle}" />
								<p:commandLink id="deseleccinarLink"
									disabled="#{!movimientoStockController.productoSelected}"
									actionListener="#{movimientoStockController.deselecionarProducto}"
									update="productoAC,nombreProducto,deseleccinarLink,:form:messages"
									process="@this">
									<h:graphicImage url="/resources/images/delete.gif"
										title="Deseleccionar" style="border:0px" />
								</p:commandLink>
							</h:panelGroup>

							<h:outputText id="cantidadOT"
								value="#{msgs.admMovimientoStock_cantidad}" />
							<p:spinner id="bonificacionCantidadS"
								value="#{movimientoStockController.view.cantidad}"
								stepFactor="1" size="30">
							</p:spinner>
							<h:outputText value="" />

							<h:panelGrid id="panelDepositoOrigenOT" style="width:100%;">
								<h:outputText id="depositoOT"
									value="#{msgs.admMovimientoStock_depositoOrigen}"
									rendered="#{movimientoStockController.traspaso}" />
							</h:panelGrid>
							<h:panelGrid id="panelDepositoOrigenSOM" style="width:100%;">
								<p:selectOneMenu id="depositoOrigenSOM"
									value="#{movimientoStockController.view.depositoOrigen.id}"
									rendered="#{movimientoStockController.traspaso}">
									<f:selectItems
										value="#{movimientoStockController.listaDeposito}"
										var="deposito" itemValue="#{deposito.ID}"
										itemLabel="#{deposito.nombre}" />
									<f:ajax execute="@this" />
								</p:selectOneMenu>
							</h:panelGrid>
							<h:outputText value="" />

							<h:outputText id="depositoDestinoOT"
								value="#{msgs.admMovimientoStock_depositoDestino}"
								rendered="#{!(movimientoStockController.traspaso)}" />
							<h:outputText id="depositoDestinoLabelOT"
								value="#{msgs.admMovimientoStock_depositoDestinoLabel}"
								rendered="#{movimientoStockController.traspaso}" />
							<p:selectOneMenu id="depositoDestinoSOM"
								value="#{movimientoStockController.view.depositoDestino.id}">
								<f:selectItems
									value="#{movimientoStockController.listaDeposito}"
									var="deposito" itemValue="#{deposito.ID}"
									itemLabel="#{deposito.nombre}" />
								<f:ajax execute="@this" />
							</p:selectOneMenu>
							<h:outputText value="" />

							<h:outputText value="#{msgs.admMovimientoStock_observaciones}" />
							<p:inputTextarea id="observacionesITA" maxlength="200" cols="50"
								rows="5" counter="observacionesContador"
								counterTemplate="{0} caracteres disponibles"
								value="#{movimientoStockController.view.observaciones}">
							</p:inputTextarea>
							<h:outputText id="observacionesContador" />

						</h:panelGrid>
					</p:panel>


					<!-- ================================================== -->
					<!-- Opciones											-->
					<!-- ================================================== -->
					<h:panelGrid columns="2">
						<p:commandButton value="#{msgs.common_guardar}"
							actionListener="#{movimientoStockController.save}" update=":form">
						</p:commandButton>
						<p:commandButton value="#{msgs.common_volver}"
							actionListener="#{movimientoStockController.cancel}"
							immediate="true" update=":form">
						</p:commandButton>
					</h:panelGrid>
				</h:panelGrid>
			</h:form>

		</u:define>
	</u:composition>
</body>
</html>